package modelo.vista;

import java.util.ArrayList;
import java.util.List;

import modelo.LoteSimple.Estado;

import org.jdesktop.observablecollections.ObservableCollections;
import org.jdesktop.observablecollections.ObservableList;

public class LoteSimpleView extends LoteView  {

	// Tipo de estado en que se encuentra el lote
	
	private Estado estado;
	private float areaSiembra;
	private PropietarioView propietario;
	private ObservableList<MineralLoteView> minerales = ObservableCollections.observableList(new ArrayList<MineralLoteView>());

	
	
	
	
	public LoteSimpleView() {
		super();
	}

	public LoteSimpleView(int nroLote, Estado estado, float areaSiembra,
			ObservableList<MineralLoteView> minerales,
			PropietarioView propretario) {
		super(nroLote);
		this.estado = estado;
		this.areaSiembra = areaSiembra;
		this.minerales = minerales;
		this.propietario = propretario;
	}

	public LoteSimpleView(int nroLote, Estado estado, float areaSiembra,
			List<MineralLoteView> list,
			PropietarioView propretario) {
		super(nroLote);
		this.estado = estado;
		this.areaSiembra = areaSiembra;
		for(int i = 0; i < list.size(); i++){
			this.minerales.add(list.get(i));
		}
		this.propietario = propretario;
	}

	


	public Estado getEstado() {
		return estado;
	}

	public void setEstado(Estado estado) {
		firePropertyChange("estado", this.estado,
				this.estado = estado);
	}
	
	public float getAreaSiembra() {
		return areaSiembra;
	}

	public void setAreaSiembra(float areaSiembra) {
		firePropertyChange("areaSiembra", this.areaSiembra,
				this.areaSiembra = areaSiembra);
	}

	public ObservableList<MineralLoteView> getMinerales() {
		return minerales;
	}

	public void setMinerales(ObservableList<MineralLoteView> minerales) {
		firePropertyChange("minerales", this.minerales,
				this.minerales = minerales);
	}

	
	public PropietarioView getPropretario() {
		return propietario;
	}

	public void setPropretario(PropietarioView propretario) {
		firePropertyChange("propietario", this.propietario,
				this.propietario = propretario);
	}

	@Override
	public boolean equals(Object obj) {
		if (obj instanceof LoteSimpleView && ((LoteSimpleView) obj).getNroLote() == this.getNroLote())
			return true;
		return false;
	}

	@Override
	public String toString() {
		return "Lote: " + String.valueOf(this.getNroLote());
	}
	
	
}
